As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. An option is an Information Handling System (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, global communications, etc. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
A wide variety of software applications may be installed on an IHS, such as a personal computer. These software applications include both user-level software applications and lower-level software applications that are responsible for various aspects of the IHS's capabilities. These software applications may be regarded as collections of files of various types. For instance, a software application may consists of program code files that are used to implement the functionality of the software application. In addition, each software application may utilize a variety of resource files that are used to store information such as settings that are used by the application. Various output files may be generated as a result of the user's operation of the software application. Certain applications may require the use of files such as drivers used for interfacing with the hardware of the IHS. In addition to files that are associated with individual software applications, an IHS may utilize various types of general resource files, such as registry settings, encryption keys and security certificates.
This wide assortment of files that may be used by an IHS significantly complicates the ability for a user to implement software backup procedures that efficiently preserve the files of most importance to the user. Software backup procedures that create a backup copy of every file on a computer require large amounts of storage space and may result in many files being needlessly backed up. More selective back up procedures require the identification of the specific files, file extensions and/or directories to be backed up. For instance, the configuration of a backup procedure may require a user to identify all directories on an IHS that are to be backed up to a remote location. This can result in a complex and error-prone task that requires a user to understand the directories and files used by each software application. This task can be further complicated by the use of non-standard installation settings, the use of uncommon file extensions and the use of non-standard hardware, such as an additional storage drive, used by an IHS. This backup configuration task may complicated even further for low-level software applications that operate without the user's knowledge. The dependence on a user's ability to configure backup procedures in such complex environments results in ineffective backup procedures that fail to backup critical files, and in many cases, also waste storage resources by backing up unnecessary files.
If files have been stored to a backup repository, the backed up files may be retrieved and used to restore an IHS to a prior operating state. In certain scenarios, an IHS must be rebuilt, such as due to drive failures or migration to new hardware. In such scenarios, rebuilding an IHS may require re-installing the operating system of the IHS and thus may also require re-stalling all software applications on the IHS. Backups may be used to restore a prior operating state for some of the re-installed software applications. For instance, upon re-installing a word processing program, backups may be used to restore the user-created files, settings and customizations in use prior to the restoration of the IHS.
Using backups to restore a prior state of a software application may be a complex administrative procedure. A user must be able to identify the files necessary to restore an application to a specific prior operating state. This may require a user to correctly identify all files containing information describing the specific operating state that is to be restored, including both user-level files and lower-level files such as license keys, drivers and customizations. Restoring a prior operating state of a software application may be further complicated by the use of remote resources by the application. As described, this task is complicated further by the fact that an IHS may utilize a wide variety of software applications, each utilizing different combinations of files are necessary for restoring a prior operating state.